﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using LibNiconico.NiconicoApi.Internal;

namespace LibNiconico.NiconicoApi.PlayerStatus
{
    /// <summary>
    /// ニコニコプレイヤーステータス問い合わせ情報
    /// </summary>
    public sealed class NicoGetPlayerStatusQueryInfo:NicoUrlAble
    {
        /// <summary>
        /// 対象の生放送番号の取得/設定
        /// </summary>
        public string Id { get; set; }

        /// <summary>
        /// 対象言語コードの取得/設定
        /// </summary>
        public string LanguageCode { get; set; }


        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="id"></param>
        /// <param name="languageCode"></param>
        public NicoGetPlayerStatusQueryInfo(string id, string languageCode)
        {
            Id = id;
            LanguageCode = languageCode;
        }

        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="id"></param>
        public NicoGetPlayerStatusQueryInfo(string id) : this(id, "ja-jp") { }


        /// <summary>
        /// URLパスとして取得
        /// </summary>
        /// <returns></returns>
        internal override string AsPath()
        {
            return "api/getplayerstatus";
        }

        /// <summary>
        /// URL問い合わせ文字列として取得
        /// </summary>
        /// <returns></returns>
        internal override string AsQuery()
        {
            return string.Format("v={0}&languagecode={1}", Id, LanguageCode);
        }


    }
}
